//package com.shitou.shitoumember.utils;
//
//import com.fasterxml.jackson.databind.ObjectMapper;
//import com.shitou.shitoumember.entity.UmsMember;
//
//import java.io.*;
//import java.net.HttpURLConnection;
//import java.net.URL;
//import java.sql.Connection;
//import java.sql.DriverManager;
//import java.sql.PreparedStatement;
//import java.sql.Timestamp;
//import java.util.ArrayList;
//import java.util.Date;
//import java.util.List;
//import java.util.Scanner;
//
///**
// * @author ShiTou
// * the class {CreateUserUtils} create time is
// * @date 2022年04月20日8:51
// */
//public class CreateUserUtils {
//
//    /**
//     * 功能描述: 创建count个用户，并加入数据库中，
//     *  该方法主要是用来进行压测调用
//     * @param count
//     * @throws Exception
//     */
//    public static void createUser(int count) throws Exception{
//        List<UmsMember> userList = new ArrayList<>();
//        String salt = "1j238hty";
//        Date data = new Date();
//        // 初始化用户
//        for ( int i = 0 ; i < count ; i ++){
//            UmsMember user = new UmsMember();
//            user.setId(13000000000L + i );
//            user.setNicknanme("user" + i);
//            user.setSalt(salt);
//            user.setLastLoginDate(data);
//            user.setRegisterDate(data);
//            user.setHead("null");
//            user.setLoginCount(0);
//            user.setPassword(MD5Util.inputPassToFromPass("123456"));
//            userList.add(user);
//        }
//
//        System.out.println("create user...");
//        Connection conn = getConn();
//        conn.createStatement().executeUpdate("TRUNCATE `t_user`");
//        String sql = "insert into t_user(id,nicknanme,password,salt,head,register_date,last_login_date,login_count) values(?,?,?,?,?,?,?,?)";
//        PreparedStatement ps = conn.prepareStatement(sql);
//        for ( int i = 0 ;i < userList.size(); i ++){
//            User user = userList.get(i);
//            ps.setLong(1,user.getId());
//            ps.setString(2,user.getNicknanme());
//            ps.setString(3,MD5Util.fromPassToDBPass(user.getPassword(),salt));
//            ps.setString(4,user.getSalt());
//            ps.setString(5,user.getHead());
//
//            ps.setTimestamp(6, new Timestamp(user.getRegisterDate().getTime()));
//            ps.setTimestamp(7, new Timestamp(user.getLastLoginDate().getTime()));
//            ps.setInt(8,user.getLoginCount());
//            ps.addBatch();
//        }
//        ps.executeBatch();
//        ps.clearParameters();;
//        conn.close();;
//        System.out.println("insert to db success");
//
//        // 做登录的url
//        String urlString = "http://localhost:8080/handleLoginData";
//        // 文件路径
//        File file = new File("D:\\JAVAPROJECT\\秒杀系统\\Test\\config.txt");
//        if ( file.exists() ){
//            file.delete();
//        }
//        // 随机读写文件
//        RandomAccessFile raf = new RandomAccessFile(file,"rw");
//        // 指定指针为开始位置
//        raf.seek(0);
//        System.out.println("user write and login ....");
//        for ( int i = 0 ;i < userList.size() ; i ++){
//            User user = userList.get(i);
//            // 网络请求
//            URL url = new URL(urlString);
//            HttpURLConnection huc = (HttpURLConnection) url.openConnection();
//            huc.setRequestMethod("POST");
//            huc.setDoOutput(true);
//            OutputStream out = huc.getOutputStream();
//            String params = "mobPhone="+user.getId()+"&password="+user.getPassword();
//            out.write(params.getBytes());
//            out.flush();
//            // 输入输出流
//            InputStream inputStream = huc.getInputStream();
//            ByteArrayOutputStream bout = new ByteArrayOutputStream();
//            byte[] buff = new byte[1024];
//            int len = 0;
//            while ( (len=inputStream.read(buff)) >= 0){
//                bout.write(buff,0,len);
//            }
//            inputStream.close();
//            bout.close();
//            String response = new String(bout.toByteArray());
//            ObjectMapper mapper = new ObjectMapper();
//            RespBean respBean = mapper.readValue(response, RespBean.class);
//            String userTicket = (String)respBean.getObject();
//            String row = user.getId()+","+userTicket;
//            raf.seek(raf.length());
//            raf.write(row.getBytes());
//            raf.write("\r\n".getBytes());
//        }
//        raf.close();;
//        System.out.println("all user write and login SUCCESS");
//
//
//    }
//
//
//    public static Connection getConn() throws Exception{
//        String url = "jdbc:mysql://127.0.0.1:3306/shitou-member?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
//        String username = "root";
//        String password = "root";
//        String driver = "com.mysql.cj.jdbc.Driver";
//        Class.forName(driver);
//        return DriverManager.getConnection(url,username,password);
//    }
//
//
//    public static void main(String[] args) throws Exception{
//        Scanner scanner = new Scanner(System.in);
//        System.out.print("请输入用户个数: " );
//        createUser(scanner.nextInt());
//    }
//}
